1. Field of the Invention
The present invention relates to the field of portable computer systems, such as personal digital assistants or palmtop computer systems. Specifically, the present invention relates to a method and system for automatically identifying a type of communication interface used to couple a portable computer system to another computer system, and for selecting the proper form of an application used with that type of communication interface.
2. Related Art
As the components required to build a computer system have reduced in size, new categories of computer systems have emerged. One of the more recent categories of computer systems is the portable or “palmtop” computer system, or personal digital assistant (PDA). A palmtop computer system is a computer that is small enough to be held in the hand of a user and is thus “palm-sized.” As a result, palmtops are readily carried about in a briefcase or purse, and some palmtops are compact enough to fit into a person's pocket. By virtue of their size, palmtop computer systems are also lightweight and so are exceptionally portable and convenient.
The portability and convenience of palmtops has made it increasingly desirable to increase the number and types of applications that can be run on them. It is advantageous to expand the capabilities of a palmtop so that it can provide many of the same, if not the same, services provided by a desktop or laptop computer system.
It has proven convenient to exchange applications, data and other information between a conventional computer system and a palmtop computer using a communication interface, such as a serial or parallel input port. Typically, the palmtop is placed into a device, such as a cradle, that is communicatively coupled to the conventional computer system via a connector cable. Many palmtop computers also include an infrared communication port for transmitting data over a wireless link. Thus, the communication interface provides a mechanism for transferring applications or other information from a conventional computer system to a palmtop, or from one palmtop to another.
In addition, cooperative and collaborative applications can be executed in parallel on both the conventional computer system and the palmtop using the communication interface. One example of these types of applications is the synchronization application and process for synchronizing and sharing information, data and the like between the conventional computer system and the palmtop. Certain portions of the synchronization software execute on the conventional computer system while other portions execute in parallel on the palmtop, with the respective portions communicating over the communication interface. Synchronization applications are known in the art. One common synchronization application and process is commonly referred to as “HotSync.”
Another example of a collaborative application is the debugger application used for debugging hardware and software applications that are being developed for the palmtop. The debugger is used to monitor and debug the palmtop's software and hardware, in particular during the development stage. In a manner similar to that described above, the debugger software executes in parallel on the conventional computer system and the palmtop, with communication between the conventional computer system and the palmtop taking place over the communication interface. Debugger applications are also known in the art.
Currently, there are different types of communication interfaces that can be used to couple the conventional computer system and the palmtop. Many communication interfaces in use today utilize either a Universal Serial Bus (USB) connection or an RS232 connection. Other types of connections include Ethernet connections and wireless connections such as Bluetooth and infrared.
A problem that occurs in the prior art is that collaborative applications, such as the synchronization and debugger applications mentioned above, can depend on the type of communication interface in use. One driver is used for one type of communication interface, and a different driver is used for a different type of communication interface. For example, an RS232 debugger application is used with an RS232 connection, and a USB debugger application is used with a USB connection. Therefore, when a user wants to run the debugger application, he or she needs to first determine what type of communication interface is being used to couple the palmtop and the conventional computer system. Then, the user needs to select the appropriate form of application that is used with the type of communication interface being used.
In one prior art implementation, a user identifies the type of connection being used (e.g., either RS232 or USB), then manually selects the appropriate form of application by pushing certain buttons on the palmtop in a prescribed manner. For example, the user pushes one combination of buttons in order to implement the debugger application that is used with USB, and a different combination of buttons (or a single button) in order to implement the debugger application that is used with RS232. Other prior art implementations of palmtops typically have their own unique processes for identifying the type of communication interface and selecting the proper form of application to use.
Thus, in the prior art, the user needs to first recognize what type of communication interface is being used between the palmtop and the conventional computer system. The user also needs to be familiar with the particular implementation-dependent mechanism that is to be used to identify the type of communication interface and to select the application that is used with that interface.
Thus, in the prior art, the user is inconvenienced by having to learn the various implementation-specific processes for selecting and implementing the proper form of application used with the type of communication interface. Moreover, the prior art is prone to error should the user fail to correctly recognize the type of communication interface being used, or should the user fail to correctly implement the proper selection process for the make and model of palmtop being used.
In addition, many users may not even be aware that there are differences in communication interfaces for palmtops. For example, the user may reasonably expect that the communication interface (e.g., cradle and connector) at the office and the communication interface at home are identical with respect to the type of connection used, when in fact they are not. Consequently, the user may not recognize that one form of synchronization application is used in the office, and another at home. Thus, the user will be unnecessarily inconvenienced and frustrated by having to determine why the synchronization application is not functioning properly in one location while working in the other. This can increase the number of service calls that users need to make. Once the cause of the problem is identified, the user is still inconvenienced by having to learn and execute the technique to select and implement the proper form of synchronization application depending on his/her location.